Conventional methods for generating and executing instructions for machining parts on a machine tool system having at least four moveable axes are written as an NC program expressed in a standard G&M code language, or a close derivative of this language based on either the International Standards Organization (ISO) or the Electronics Industries Association (EIA) RS-274-D, using codes identified by letters such as G, M, and F. The codes define a sequence of machining operations to control motion of the machine tool in the manufacture of a part, but may be unwieldy for complex operations.
Hurco Companies, Inc., the assignee of the present application, has offered another technique employing a conversational style programming suite whereby a machine tool operator is able to program a machine tool mill or lathe system to perform various operations through a graphical user interface. The conversational style programming suite provides a feature based approach that allows an operator to define the geometry of a part. An exemplary software package and user interface is the WINMAX brand system available from Hurco Companies, Inc. One exemplary conversational programming system is disclosed in U.S. Pat. No. 5,453,933, the disclosure of which is expressly incorporated by reference herein. Such conversational programming techniques, however, do not generate part programs for machining operations that require four or more movable axes that are independent of machine kinematics. As such, part programs written for execution by one machine tool system must be modified to be executed on another machine tool system with different kinematics. This is inconvenient, expensive, and provides additional opportunities for human error.
The present disclosure provides a conversational method and apparatus for generating and executing universal part programs for forming parts on any machine tool system having at least four movable axes, regardless of the machine kinematics.
In one embodiment of the disclosure, a method is provided for controlling movement of a machine tool system having defined kinematics including at least four movable axes to machine a part. The method includes the steps of providing a conversational programming interface configured to receive user input defining, without reference to the defined kinematics, a geometry to be formed on the part, generating a first tool path relative to the current coordinate system for forming the geometry, transforming the first tool path into a final tool path defined relative to a workpiece coordinate system, the workpiece coordinate system being a Cartesian coordinate system corresponding to an orientation and location of the part within the machine tool system, and processing the final tool path to generate positions for the at least four movable axes based on the defined kinematics.
In another embodiment of the disclosure, a method is provided for controlling movement of machine tool systems. The method includes the steps of providing a conversational programming interface that permits a user to create a program for execution by any of a plurality of machine tool systems for machining a part, each system having at least four movable axes and a corresponding axis kinematics configuration, receiving, using the interface, a block of the program including a definition of a geometry of the part, the geometry requiring use of at least one of a rotary axis and a tilt axis and being defined without reference to any axis kinematics configuration, generating a first tool path relative to a first Cartesian coordinate system for forming the geometry, mapping the first tool path to a second Cartesian coordinate system corresponding to the part, transforming the mapped tool path to a third Cartesian coordinate system corresponding to an orientation and a location of the part relative to an axis kinematics configuration of a current machine tool system, and processing the transformed tool path to generate positions for the at least four movable axes of the current machine tool system based on the axis kinematics configuration of the current machine tool system.
In another embodiment of the disclosure, a computer readable medium is provided having stored thereon instructions for generating a conversational programming interface on a display to enable a user to create a part program for execution by any of a plurality of machine tool systems having at least four movable axes and a corresponding axis kinematics configuration, instructions for receiving, using the interface, a block of the part program including a definition of a geometry of a part, the geometry requiring use of at least one of a rotary axis and a tilt axis and being defined without reference to any axis kinematics configuration, instructions for generating a first tool path relative to a first Cartesian coordinate system for forming the geometry, instructions for mapping the first tool path to a second Cartesian coordinate system corresponding to the part, instructions for transforming the mapped tool path to a third Cartesian coordinate system corresponding to an orientation and a location of the part relative to an axis kinematics configuration of a current machine tool system, and instructions for processing the transformed tool path to generate positions for the at least four movable axes of the current machine tool system based on the axis kinematics configuration of the current machine tool system.
In yet another embodiment of the disclosure, an apparatus for machining a part with at least one tool is provided. The apparatus includes a frame, a moveable support supported by and moveable relative to the frame, the moveable support supporting the part, a machine tool spindle supported by the frame and moveable relative to the part, the machine tool spindle adapted to couple the at least one tool, the moveable support and the machine tool spindle including at least four moveable axes and a corresponding axis kinematics configuration, a controller operably coupled to the machine tool spindle and the moveable support, the controller executing the machining of the part through the controlled movement of the plurality of moveable axes of the machine tool spindle and the moveable support, means for generating a conversational programming interface on a display that permits a user to create a part program that defines a geometry of the part without reference to the axis kinematics configuration, means for generating a first tool path relative to a first Cartesian coordinate system for forming the geometry, means for mapping the first tool path to a second Cartesian coordinate system corresponding to the part, and means for transforming the mapped tool path to a third Cartesian coordinate system corresponding to an orientation and a location of the part relative to the axis kinematics configuration, wherein the controller processes the transformed tool path to generate positions for the at least four movable axes based on the axis kinematics configuration.
Corresponding reference characters indicate corresponding parts throughout the several views.